# 语法格式：变量名[start:end:step]
#
# - start：切片开始下标
# - end：切片结束下标
# - step：切片步长【可选】
# 步长值默认为1

# 作用：按照指定要求获取一段数据
# 定义非空字符串
name = "abcdefgh"
# 获取cde
print(name[2:5])
print(name[2:5:1])
print(name[-6:-3])
print(name[-6:-3:1])
# 获取defgh的字符
print(name[3:8])
print(name[3:])  # 结束下标不写，默认从开始下标到结尾
print(name[-5:])
# 获取abc的字符

# 获取ace的字符
print(name[0:5:2])  # 取出0 、2 、4下标对应元素
print(name[:5:2])  # 开始下标不写，默认从第一个元素开始

# # 获取hgfedcba
print(name[::-1])


# 定义非空字符串
info = "abcdefgh"
info1 = "Hello Python"
# 统计字符元素个数（长度）
print(len(info))  # 8
print(len(info1))  # 12
# 定义非空列表
info2 = [11, "aa", 1.88, (1, 2, 3), ["aa", "bb"]]
print(len(info2))  # 5
# # 定义非空元组
info3 = (11, "aa", 1.88)
print(len(info3))  # 3
# # 定义非空字典
info4 = {"name": "tom", "age": 18, "gender": "男"}
print(len(info4))  # 3


info2 = [11, "aa", 1.88, (1, 2, 3), ["aa", "bb"]]
# 清空列表数据
info2.clear()
# 查看原有列表
print(info2)

info4 = {"name": "tom", "age": 18, "gender": "男"}
# 清空字典数据
info4.clear()
# 查看原有字典
print(info4)
